Haoyh的博客

WeChat AndResGuard使用记录

使用wechat AndResGuard进行安装包压缩

1.clone工程到本地

工程Git地址

2.命令行方式使用

/tools_output目录下,将提前准备好的.apk文件复制到该目录,并重命名为input.apk.

第一次执行:./build.sh

报错:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
signing apk: input_signed.apk
use 7zip to repackage: input_signed_7zip.apk, will cost much more time
[addStoredFileIn7Zip]rewrite the stored file into the 7zip, file count:273
zipaligning apk: input_signed.apk
java.io.IOException: Cannot run program "zipalign": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at com.tencent.mm.androlib.ResourceApkBuilder.alignApk(ResourceApkBuilder.java:150)
at com.tencent.mm.androlib.ResourceApkBuilder.alignApk(ResourceApkBuilder.java:131)
at com.tencent.mm.androlib.ResourceApkBuilder.buildApk(ResourceApkBuilder.java:48)
at com.tencent.mm.resourceproguard.Main.buildApk(Main.java:94)
at com.tencent.mm.resourceproguard.Main.resourceProguard(Main.java:71)
at com.tencent.mm.resourceproguard.cli.CliMain.run(CliMain.java:193)
at com.tencent.mm.resourceproguard.cli.CliMain.main(CliMain.java:37)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
... 7 more

解决:将zipalign添加到环境变量中

添加方法

vim ~/.bash_profile

在末尾添加(路径根据实际情况修改)

1
2
export ZIPALIGN=/Users/xxx/Android/android-sdk-macosx/build-tools/21.1.2
export PATH=$PATH:$ZIPALIGN/

3.最终实现

原8.3M的安装包经过处理最后为8.1M。